package ar.com.larreta.colegio.intercambio.client;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

public class Obligacion extends Producto {
	public static final String VENCIMIENTO = "vencimiento";
	public static final String ITEM = "item";
	public static final String DETALLES = "detalles";
	
	public Obligacion(){
		setProceso(ProcesosColegioConst.GUARDAR_RESPONSABLE);
	}
	
	public Item getItem() {
		return get(ITEM);
	}
	
	public void setItem(Item item) {
		set(ITEM, item);
	}
	
	public Date getVencimiento() {
		return get(VENCIMIENTO);
	}
	
	public void setVencimiento(Date vencimiento) {
		set(VENCIMIENTO, vencimiento);
	}
	
	public Set getDetalles() {
		return get(DETALLES);
	}
	
	public void setDetalles(List detalles) {
		set(DETALLES, new HashSet(detalles));
	}
	
	public void setDetalles(Set detalles) {
		set(DETALLES, detalles);
	}
	
	public void addDetalle(Detalle detalle){
		if (getDetalles()==null){
			setDetalles(new ArrayList());
		}
		detalle.setObligacion(this);
		getDetalles().add(detalle);
	}
	
	public void refreshValue(){
		Set detalles = getDetalles();
		if ((detalles!=null) && (!detalles.isEmpty())){
			Double valor = new Double(0);
			Iterator<Detalle> it = detalles.iterator();
			while (it.hasNext()) {
				Detalle detalle = (Detalle) it.next();
				if (detalle.getValor()!=null){
					valor+=detalle.getValor();
				}
			}
			setValor(valor);
		}
	}
	

}
